23

» WarCraft 3 / Дистанция атаки

Похожие вопросы:

ответ
Дать скилл и с помощью триггеров сделать его видимым при выделении башни - самый нормальный вариант. Через шкалу выбора невозможно задать точный радиус атаки и выглядит отвратительно из-за растянутого хп-бара.
Правда, реализация того же скилла тоже должна быть осуществлена через триггеры.
ответ
Вообще в мемхаке есть же.
Но новички в картостроительстве, большинство серверов и отчасти последний патч варкрафта в мемхак не понимают.
ответ
Filius Dei:
что бы юнит атаковал противников, есть у юнита дистанция получения приказа, а в константах что то типо зов на помощь. их и меняй, хотя хватит и второго.
ответ
Если событие "юнит атакован" то значит снаряд уже вылетел и живет своей жизнью, а ближний бой сам по себе мгновенно прилетает
ответ
Так ты дай юниту 2 атаки и глянь, какие он использует на какой дистанции.

23

» WarCraft 3 / JNGP проверка карты

Похожие вопросы:

ответ
Достать резервную копию например. Ах вы опять не удосужились?)
Тогда обнулить триггеры и скопировать их по 1 из клона карты.
Именно обнулить, а не удалить.
И скопировать обратно.
ответ
в новой версии pjass есть директива отключения проверки синтаксиса целиком
ответ
и ещё проверь чтобы в путях к jngp/вар3 не было русских символов
ответ
Проверь, что бы в пути к редактору, не было русской кириллицы. Jngp её не переваривает.

23

» WarCraft 3 / Нужна помощь (vjass)

Похожие вопросы:

ответ
Вопросы - не стол заказов.
ответ
Sergey105, проблема в способе хранения а не в вджасс
цикл бегает от 1 до count включительно
первый объект будет в 1 ячейке
второй во 2
третий в третьей
count равен 3
раз время везде 6 секунд то первой освободиться первая ячейка
count станет равен 2
и цикл будет обрабатывать ячейки 1(пустая) и 2
но объект в 3 ячейке всё ещё остался так как время для него не закончилось
а так как мы его не удалили а просто потеряли то и эффект и экземпляр структуры остаются
и того утечка памяти
вот статья которую можно юзать как пример
и на будущее
для кода используй форматирование код
а большие куски кода вноси под кат
вот статья про форматирование
ответ
FogModifierStart(CreateFogModifierRect(GetLocalPlayer(), FOG_OF_WAR_VISIBLE, bj_mapInitialPlayableArea, true, false))
Создаем модификатор видимости локально.
ответ
FabulousTiger, большенству людей сложно влиться в чужой проект если тот абсолютно не отвечает некоторым критериям либо человеку может просто не нравится задумка. И это далеко не та ситуация когда нужно проглотить свое негодование, уровень роботы такого человека будет напрямую зависеть от того насколько ему нравится проект.
KaneThaumaturge, твоя скорость изучения JASS будет напрямую зависеть от того насколько ты в это захочешь втянуться. Правда должен предупредить что есть люди которые просто не приспособлены к тому что-бы понять програмирование в его ярчайшем проявлении, такие люди обычно при разработке проекта опираются на то что умею лучше всего.
Я из опыта скажу что: есть некоторые вещи которые возможно создать только при помощи JASS, но реализацию большенства идей можно выполнить при помощи GUI. Покопайся в чужих наработка пойми что ты хочешь и что можешь использовать из предоставленного тебе и вперед делать проект.

23

» WarCraft 3 / Пассивка. Таймеры.

Похожие вопросы:

ответ
делаю в таких способностях таким таймерам малый период, время остановки определяю через перезаписываемую целочисленную
^ метод Фрога
в MyAbility проверяй есть ли уже абилка 'A06B' у этого юнита
и если есть - ищи таймер и меняй ему время на новое (опять 25 сек - обновление)
ответ
юзай событие юнит получает урон навешанное на каждого юнита
а это ресурсозатратно
ерунду не неси
если хочешь сделать всё очень оптимально то узнай для начала как работает система событий
или вообще юзай екзекют
Diaboliko:
событие получения урона сразу для всех юнитов
это было и до мемхака
вообще бесит когда люди которые не шарят в работе вара начинают выдумывать проблемы а потом искать их решение
ответ
дочерние потоки наследуют свойства основных
то же касается и екзекута

23

» WarCraft 3 / Способность

Похожие вопросы:

ответ
Когда юнит проучивает пассивку, добавляй в группу юнита, который выучил пассивку. Дальше все просто -
Юнит умирает
Киллинг юнит в нашей группе - да
Дайинг юнит не в команде владельца киллинг юнит.
Игрок - адд проперти - 500 золото (овнер оф киллинг юнит)
ответ
скорее всего, он говорит о SetUnitMovespeed ()
ответ
Сделай на основе берсерка и кидай сетку через созданного в позиции кастера даммика (невидимого юнита), даммика потом убираешь
ответ
На JASS-е есть функция GetLearnedSkill(), которая выдает rawcode выученного умения. Создаешь переменную типа "целочисленная" с названием SkillCode, потом в начале действий триггера пишешь через Custom Script что-то типо этого:
set udg_SkillCode=GetLearnedSkill()
и затем делаешь какие тебе там нужны сравнения на переменную SkillCode.
ответ
XGM Bot:
Похожие вопросы:

ответ
ИИ написать, сами скиллы юзают тока крипы подконтрольные ИИ - к примеру нейтральновраждебные.
Так же можно юзать скилл - Сфера замедления, это орб эффект который срабатывая накладывает на цель атаки указанный в его настройках скилл, подойдет для карт типа Castle Fight.
ответ
ИИ чтоли не кастует? Сделай триггерный каст, Событие - юнит обнаружил цель в пределах досягаемости, проглотить не в кулдауне и цель неуязвимый враг, пойти и проглотить юнита...
ответ
Fireproof, попробуй в РО у юнита поменять "Графика - Анимация - обратный ход броска" и "Графика - Анимация - точка броска" на 0. Правда, это уберёт время каста для всех умений у этого юнита.
ответ
Ну тебе нужно чтобы был прямо таки бафф который можно рассеивать?
Для начала сделай способность, и баф на основе какой нибудь пустышки, подойдет ярость у некромантов, так же переодический триггер который раз в пол секунды проверяет всех юнитов в группе, есть ли у них бафф если юнит мертв или у него нет баффа, то у юнита удаляется способность на доп урон зданиям и сам унит удаляется из группы.
При касте твоим шаманов заклинания на цель, ты добавляешь цель заклинания в группу, которую и перебирает описанный выше триггер.
Надеюсь понятно?
ответ
datar1231, Именно поэтому говорят не делать 2 две способности от друга потому когда юнита приходит приказ на использование способности он использует твою нестандартную способность но основываясь на айди стандартной способности или делай на основе другой или незанаю подействует ли канал.


23

» WarCraft 3 / От куда лучше?

Похожие вопросы:

ответ
"Далеко твоя рпг не уйдёт" моя рпг тебя переживет.
Ты тоже когда родился не умел так нагло хамить незнакомым людям, научился же как то. Люди с более серьезным отношением к миру чем "изменить систему один не могу но буду плакать об этом" могут изучить все что захотят и даже в одиночку будут стоить больше чем тысяча "всегда сдающихся" людей,
и тот человек (Да удалось, даже был лаунчер для этой игры. Forgotten Land) это подтвердил, хотя я уверен что он быстро опустил руки.
p.s чел прекращай настраивать других людей на поражение, если ты что-то можешь дать - дай, если хочешь чтобы другие не добились успеха чтобы ты оказался прав и не чувствовал себя ущербным то просто отойди в сторону.
Я на все твои выпады отвечу лишь одной фразой:
"Dota была обычной картой для warcraft 3 и она поначалу тоже была пустой ".
Ответы получены, пару шарящих людей нашел, (дай бог каждому такого человека который рассказал мне о многом что тут считают до сих пор невозможным)
Спасибо за поддержку! и особенно одному пользователю. Ведь именно благодаря таким людям как life2smiler, люди не делают хорошие проэкты а другие люди соответственно вынуждены играть в некачественные карты и в течении нескольких лет не находить решения наболевших проблем
(если нет хотя бы 1 го человека кому удалось сделать что-то необычное то все остальные продолжат считать это невозможным) А сегодня стало ясно что могут не знать о чем либо не только потому что никто не делал этого, а потому что человек на самом деле сделал но никому говорить не стал :)
ответ
Личный опыт:
  1. Заходить в карту чтобы скоротать время, пока друзья ещё не пришли/ ещё играют (в ту катку, с которой ты вылетел/крашнулся)
  1. Цель от данной игры:
(большинство рпг)
*1) Попытаться выбить что-то, что падает с одноразового босса, и свалить на рмк
*2) Помочь другу попытаться выбить что-то, что падает с в пункте 1
(большинство других карт)//(Те же тролли и эльфы)
[Больше психология и нежелание играть в неравных условиях]
*1) Этот эльф абузит что-либо!
*2) Эти эльфы собрались в войсе и абузят одну стенку на четверых! Делал так вчера :D
*3) Этот тролль играет с мх и всегда сразу находит любого эльфа на большой карте!
  1. Попытка поиграть во что-то, оборачивается чем-то плохим:
*1) Выбивается инэт/свет/ потолок падает на игрока
*2) Вырубается что-то из оборудования, в следствии чего пк зависает/уходит в ребут
*3) Крашит/Десинкает из вара
*4) Винда что-то непонятное выводит (Та же нехватка озу/бэды на харде)
  1. Определённый сегмент игроков, зовущийся троллями которые что и делают что по кд оскорбляют других, и подпалив игроков просто ливают.
  1. Отдельно насчёт игроков: цифры = пункты выше из шапки
Пункты 1, 2, 5, 6, 7, 8, 9, 10, 12 относятся больше к тому, что игроки с "ини" показывают друг другу зубы и соблюдают этот стиль общения на протяжении всей катки
Пункты 8,12 относятся к тем, с чем можно смириться и продолжить играть в мапу
Пункт 6 - для "Соло" карт, которые просто нельзя пройти в одного, не имея друзей ,что мной расценивается как просто потеря времени
Идеальной карты нет и небудет - вы не сможете совместить абсолютно все жанры, которые нравятся комьюнити - Одновременно ТД и РПГ я ещё не видел, не зря это разные жанры.
Если она и будет, то все наткнутся на лимит в 12 слотов, с которых гарена наврядли когда выйдет.

23

» WarCraft 3 / Кириллица в редакторе

Похожие вопросы:

ответ
Вроде всегда лечилось сменой раскладки на русскую при копировании.
ответ
Короче порылся в ХГМ, потыкал, все испробывал, и сам нашел ответ, вот несколько моментов для того, чтобы заработал:
  1. Требуется установленный Warcraft 3: The Frozen Throne последней версии 1.26a. Скачайте нормальный варкрафт 3, а то попадаются урезанные или нерабочие версии. Лучше оригинальную версии приобрести, и обновить. Хотя пиратки тоже неплохи. Вот использую сборкой от R.G. Mechanics
  2. Путь к программе НЕ ДОЛЖЕН содержать русских символов
  3. Совершайте установку в отдельную от Warcraft 3 папку
  4. Рекомендуется приостановить антивирусные программы до установки, потом выполнить установку, затем добавить папку c JNGP в исключения, и потом только снова включить антивирусы. Эта программа вторгается в процесс worldedit.exe, поэтому может считаться вредоносной
  5. Не трогайте файл worldedit121.exe, он должен быть и в папке игры и в папке JNGP
  6. Сначала "Сохранить карту", только потом "Проверка карты", а ещё иногда бывает лучше сохранять пару раз
Выше, это стандартное описание для работы. Если не сработает, пробуем вот, что:
  1. Выставляем оптимальные настройки к JNGP, указанные на скрине (см. ссылку) xgm.guru/forum/showthread.php?t=13118 Обычно, эти настройки должны быть изначально после установки JNGP (ну мало ли пригодятся)
Теперь суть моей проблемы (не знаю, что из этих ниже пунктов сработало, но сработало):
  1. Я установил игру и JNGP на рабочий стол. Потому что на диске С, в папках типа Program Files.(x86) и др. блокирует браундмер. Обычно требует назойливо для работы права администратора, очень раздражает. Но сомневаюсь, что заработало из-за этого. Раньше не мешало нисколько.
  2. Запустить JNGP в режим совместимости. Заходим в свойство exe-шника. Поставил семерку.
  3. Если UMS изначально включен, то выключить его и включить (Enable UMS). Потом перезапустить WE. Скорее всего из-за него.
Из-за UMS также бывают ошибки: могут выскачить 2-3 окна : что отсутствует TriggerClearActions и layerAll. Когда пропускаешь эти окна, просто нажав на ок, затем появляется ошибка с памятью и уже потом закрывается редактор. Происходят такие ошибки, если пытаешься открыть обычным редактором карту, отредактированную в JNGP. Такая ошибка происходит, если некорректно настроен UMS (выкл. потом вкл.). Такая ошибка происходит, если открыть обычным редактором взломанную карту, которая наверняка сделана в UMS и использует необычный jass и прочие преимущества JNGP. Ошибки с UMS могут иногда происходить, поэтому скорее всего пункт 10 поможет
  1. Если UMS перестает работать (некорректно работает), а 10 пункт не помогает. То есть плагин UMS по каким-то причинам не запускается, а JNGP стоит галочка напротив UMS (говорит, что включен). Короче узнать, что он запущен, можно при открытий редактора вместо стандартного окна выскакивает окно UMS. Если не выскакивает, надо попробовать завести снова работать. Плагин может по каким-то причинам сломаться (один раз баловался в настройках JNGP). Пробуйте потом удалить JNGP и потом заново переустановить. Или выкл. и вкл, UMS затем выйти из jngp, удалить и заново переустановить
пп
ответ
Всё норм, это просто узбеки в тиму попались
ответ
Я удалил MPQ Editor в папке bin, потому вылазила ошибка.
ответ
Вопрос зачем? Все что ты оставил стандартным будет на английском языке у зарубежных игроков, что за глупости?

23

» WarCraft 3 / Как проверять себя

Похожие вопросы:

ответ
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.
ответ
Попробуй вот эту программу, у меня с неё всё работает. www.hiveworkshop.com/threads/unrealloader-universal-kloader.2784...
ответ
PT153:
Зачем ты даёшь предмет?
Если предмет используется сразу при поднятии, то его нужно удалить.
Ну и желательно сделать с таймером, а не паузой.
Здравствуйте)
Даю пустой предмет, который используется сразу при поднятии (как книги), что бы он запустил следующий триггер.
Ибо даже не подумал про таймеры, а через паузу в одном триггере всё это уместить не получилось.
Спасибо за совет, попробую всё сделать иначе!)
ответ
А в мультиплеере это еще и чревато десинками т.к. работа сборщика мусора не синхронится и в принципе не может синхрониться.
ответ
Для реализации нужна система урона.
При применении скилла нужно сохранить кастера на цель(хэштаблицей или структурами)
В системе урона проверка на бафф у получившего урон юнита(и отсутствие баффа у атаковавшего во избежание рекурсии), загрузка кастера и нанесение урона по атакующему.

Ну и попытки собственные бы увидеть

23

» WarCraft 3 / Благодать не на нежить

Похожие вопросы:

ответ
если ты не профессионал в жассе и не хочешь копаться в памяти варкарфта - никак. просто сделай свои триггерные аналоги

23

» WarCraft 3 / Стаки

Похожие вопросы:

ответ
~16GB:
JackFastGame,
оно не работает, придётся делать много уровневую абилку во всеми вариантами скорости, и самом у подсчитывать её
ответ
Astra, юзай баг с айтемами
не лагает
не требует создания овер дофига абилок (нужен только 1 предмет)
легко удаляется
лучше только мемхак
ответ
на 26 патче это без тригов невозможно
с тригами - система выдачи баффов и скрытые спеллбуки с нужными способностями и их выдача нужным юнитам на нужное время
также в карте замок скиби есть аура, эффекты которой суммируются, но она опять таки триггерная
ответ
Делать триггерные аналоги, это орбы, они на уровне движка
Есть там некоторые типы эффектов, которые стакаются
xgm.guru/p/wc3/attackmod в общем вот
ответ
easypeasy, не юзать рунные браслеты, а юзать благословение элуны, она стакается, все резисты работают в порядке преобретерия с уменьшающейся эффективностью, у героев 25% резиста к магии, он будет самым первым всегда, далее резист считается от оставшихся 75% урона.

23

» WarCraft 3 / Слетает переменная

Похожие вопросы:

ответ
Применяй permanent при добавлении абилки юниту. Когда абилку удалишь, эффект исчезнет. При морфе перманентные абилки останутся. На спеллбук также работает, но надо перманентить сам спеллбук и вложенные в него абилки.
ответ
zlowar:
То есть дебаф должен всегда обновляться.)
Зачем ты делаешь триггерный дебафф? В дефолте так устроено, что дебафф заменяется, так вешай же дефолтно
ответ
MoreDoPass, для этого и нужны массивы, чтобы было MUI
  1. первый триггер сохраняет все нужные данные на один общий индекс, например PlantmineCount, и увеличивает этот индекс на один.
  2. второй триггер каждые 0,0Х секунд пробегается по массиву от нуля до PlantmineCount, проверяет расстояние и если оно подходит, делает нужные действия. После этого, чтобы тот же элемент не обрабатывался заново, нужно заменить его во всех массивах на последний и уменьшить PlantmineCount на 1. И счетчик цикла тоже уменьшить на 1, иначе этот последний элемент будет пропущен тк индекс по циклу уйдет дальше.

23

» WarCraft 3 / Расположение разрушаемый декораций друг на друге

Похожие вопросы:

ответ
~8gabriel8:
Потом над блоками надо поставить невидимые платформы и поднимать/опускать кнопками Ctrl+Shift+PgUp/PgDn.
PrincePhoenix, он всё равно лучший ответ не выбирает, бот такие не обрабатывает.

23

» WarCraft 3 / Как не бить союзников

Похожие вопросы:

ответ
Событие: боевая единица атакован -
Условия: владелец атакованного и атаковавшего союзники
Действия: Боевая единица- приказ без указания цели атаковавший отставить.
Это так примитив, можно так же извратится с событием получает урон и лечить юнита на кол-во полученного урона.
ответ
Эм есть и другая аура лечение для союзников без заклинание. Это "Дух целитель" рав-код Aoar

23

» WarCraft 3 / Заголовок

Похожие вопросы:

ответ
Это баг варика. Когда ты используешь несколько диалогов и показываешь их подряд, название Title надо каждый раз заново создавать. Если бы у тебя был один диалог и ты бы его показывал несколько раз подряд - заголовок сохраниться.
Могу посоветовать при пересоздании запускать триггер dialog повторно.
ответ
8gabriel8:
Тип передвижения на Нет ставишь?
Хотя, если здание, значит прямоугольная карта путей по игровой сетке, а не любое местоположение. Тип передвижения в этом случае не важен.
Я думаю кроме нас тут уже больше никто не напишет поэтому я закрою вопрос, спасибо за внимание и ответы.
ответ
Lesnoi troll:
Думал сделать двойную атаку с определенным шансом, типа герой делает сразу 2 выстрела вместо 1. Потом на ум пришла другая идея: когда герой прокачивает свою пассивную способность, около него появляется дамми юнит с атакой. И он должен атаковать вражеского юнита, когда этого делает и сам герой. Тоесть он не то что появляется и автоатачит ближайших врагов, а атакует однократно

Если бы хотел, сделал бы урон дамми больше с каждым уровнем, но я не умею такое провернуть, а вы не обязаны делать все за меня. Поэтому прошу лишь подсказок
Вот тебе костыль на основе техники. Даешь ауру, которая изначально не имеет целей, потом при изучении техники прикручиваешь грейд ауры. Триггеры ловят баффы аур, и создаешь даммиков, стирая/добавляя старых.
ответ
Через мемхак, либо через кастом фреймы в рефорджевых патчах
На 126 гуи такого не сделать

23

» WarCraft 3 / Лагает спавн юнитов

Похожие вопросы:

ответ
XGM Bot:
Похожие вопросы:

ответ
GF RaiseD:
Я знаю только один способ избавления от утечек - писать код без них.Тебе нужен кто-то знающий игровые скрипты или злосчастный Jass. Иначе уровень неопределённости вопроса не позволит подсказать что-то дельное.

ответ
Причина: причин было много, а я искал лишь одну
Самыми распространёнными оказались элементарные ошибки в коде, отсутствие параметров, параметры не того типа данных (привет динамическая типизация) или лишние параметры, из за чего происходили "рандомные рассинхроны при обрыве потока"
Огромное спасибо пользователю prog, что откликнулся и смог найти ошибки, а нашёл он их при помощи языкового сервера sumneko lua для VScode

23

» Администрация XGM / Переезд проектов

Похожие вопросы:

ответ
То же самое было на 3 уровне, но это было до переезда. Дойди до 4 уровня и смело создавай проект.

23

» WarCraft 3 / Косяки mdlvis

Похожие вопросы:

ответ
В редакторе скелета
ответ
Галочка "однократно" стоит?
там в мдл визе под названием анимациии
скачал, галочки нет. Поставь, тогда анимация будет останавливаться на последнем кадре.

23

» WarCraft 3 / Помощ с условием

Похожие вопросы:

ответ
Объясню, почему я удалил код: после проведённого за кодом времени, я понял, что сильно погорячился, задав такой глупый вопрос. Стоило отдохнуть, проветрить голову, и решение нашлось. Тем, кто столкнулся с хоть самую малость, но похожей проблемой, дам совет: всегда проверяйте соответствия заклинаний, написанных в коде jass (CTRL + D, если кто не знает, как узнать id заклинания) и ,конечно, сам синтаксис. Также посоветую не утраивать "свалку" в коде, как это сделал я. В общем, если кому интересно, как я решил проблему, пишите - расскажу или даже помогу если у вас она схожая.(Всё дело во внимательности)...
Сброшу код триггера таким, каким я его хотел видеть изначально:
function MU_Check_lvl_four takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A011', udg_Akame_Killer) == 4 ) ) then
        return false
    endif
    return true
endfunction

function MU_Check_lvl_three takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A011', udg_Akame_Killer) == 3 ) ) then
        return false
    endif
    return true
endfunction

function MU_Check_lvl_two takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A011', udg_Akame_Killer) == 2 ) ) then
        return false
    endif
    return true
endfunction

function MU_Check_lvl_one takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A011', udg_Akame_Killer) == 1 ) ) then
        return false
    endif
    return true
endfunction

function MU_Second_Conditions takes nothing returns boolean
    if ( not ( UnitHasBuffBJ(GetEventDamageSource(), 'B008') == true ) ) then
        return false
    endif
    if ( not ( GetEventDamageSource() == udg_Akame_Killer ) ) then
        return false
    endif
    return true
endfunction

function MU_Start_Conditions takes nothing returns boolean
    if ( not ( UnitHasBuffBJ(GetAttacker(), 'B008') == true ) ) then
        return false
    endif
    if ( not ( GetAttacker() == udg_Akame_Killer ) ) then
        return false
    endif
    return true
endfunction

function Trig_MU_Conditions takes nothing returns boolean
    if ( not MU_Start_Conditions() ) then
        return false
    endif
    return true
endfunction

function MU_Venum_Check takes nothing returns boolean
    if ( not ( udg_MU_Venum_counter == 2 ) ) then
        return false
    endif
    return true
endfunction

function MU_del takes nothing returns nothing 
    if ( MU_Check_lvl_one() ) then
        call SetPlayerAbilityAvailableBJ( true, 'A00X', GetOwningPlayer(GetEventDamageSource()) )
        call UnitRemoveAbilityBJ( 'A00X', GetEventDamageSource() )
    else
        if ( MU_Check_lvl_two() ) then
            call SetPlayerAbilityAvailableBJ( true, 'A00U', GetOwningPlayer(GetEventDamageSource()) )
            call UnitRemoveAbilityBJ( 'A00U', GetEventDamageSource() )
        else
            if ( MU_Check_lvl_three() ) then
                call SetPlayerAbilityAvailableBJ( true, 'A00Y', GetOwningPlayer(GetEventDamageSource()) )
                call UnitRemoveAbilityBJ( 'A00Y', GetEventDamageSource() )
            else
                if ( MU_Check_lvl_four() ) then
                    call SetPlayerAbilityAvailableBJ( true, 'A013', GetOwningPlayer(GetEventDamageSource()) )
                    call UnitRemoveAbilityBJ( 'A013', GetEventDamageSource() )
                else
                    call DoNothing(  )
                endif
            endif
        endif
    endif
endfunction


function Trig_MU_Actions takes nothing returns nothing
    call DestroyTrigger(udg_MU_trig)
    set udg_MU_Venum_counter = GetRandomInt(1, 5)
    set udg_MU_TG = GetAttackedUnitBJ()
    if ( MU_Venum_Check() ) then
        if ( MU_Check_lvl_one() ) then
        call UnitAddAbilityBJ( 'A00X', udg_Akame_Killer )
        call SetPlayerAbilityAvailableBJ( false, 'A00X', GetOwningPlayer(udg_Akame_Killer) )
    else
        if ( MU_Check_lvl_two() ) then
            call UnitAddAbilityBJ( 'A00U', udg_Akame_Killer )
            call SetPlayerAbilityAvailableBJ( false, 'A00U', GetOwningPlayer(udg_Akame_Killer) )
        else
            if ( MU_Check_lvl_three() ) then
                call UnitAddAbilityBJ( 'A00Y', udg_Akame_Killer )
                call SetPlayerAbilityAvailableBJ( false, 'A00Y', GetOwningPlayer(udg_Akame_Killer) )
            else
                if ( MU_Check_lvl_four() ) then
                    call UnitAddAbilityBJ( 'A013', udg_Akame_Killer )
                    call SetPlayerAbilityAvailableBJ( false, 'A013', GetOwningPlayer(udg_Akame_Killer) )
                else
                    call DoNothing(  )
                endif
            endif
        endif
    endif
    set udg_MU_trig = CreateTrigger()
    call TriggerRegisterUnitEvent( udg_MU_trig, udg_MU_TG, EVENT_UNIT_DAMAGED )
    call TriggerAddCondition( udg_MU_trig, Condition( function MU_Second_Conditions ) )
    call TriggerAddAction( udg_MU_trig, function MU_del )
    else
        call DoNothing(  )
    endif
endfunction

//===========================================================================
function InitTrig_MU takes nothing returns nothing
    set gg_trg_MU = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_MU, EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddCondition( gg_trg_MU, Condition( function Trig_MU_Conditions ) )
    call TriggerAddAction( gg_trg_MU, function Trig_MU_Actions )
endfunction
Суть триггера:
Имеется способность с четырьмя уровнями. На каждом уровне урон способности разный, а шанс срабатывания всегда 25%. При атаке герой, имеющий такую способность имеет шанс (25%) на отравление противника.
Переменная udg_Akame_killer равносильна GetEventDamageSource()
P.S. Возможно кому-то даже пригодится этот код... Сделан полнейшим неумехой в плане jass, так что не судите строго!
ответ
Нет такой функции запустить
вы классный
причем это недалеко от включения. либо вы очень невнимательны, либо очень ленивы
ответ
~8gabriel8:
Пока нет желания разбираться, что у тебя так, а что не так. Но вижу, что переменная Window не назначена окну, а ещё как бы создаются в цикле одновременно 10 окон, которые потом все одновременно ждут 50 секунд. Вот скрин действий триггера вместо двух твоих, секунда ожидания поставлена для того, чтобы увидеть пропадание окна таймера.
ответ
~8gabriel8:
Довольно тяжело в этом разобраться, ты думаешь о том, что тебе нужно, но не всё договариваешь, а залезть в твою голову не могу. Во-первых, нумерация массива начинается с 0, то есть размерность переменной 1 представляет два массива - переменная[0] и переменная[1], но у тебя переменная[0] вроде не задействована. Во-вторых, на первом скрине у тебя цикл по А от 2 до 10, а в пояснении пишешь, что стандартные резолюции с 1 по 8, но в таком случае обработка идёт с 1 по 9 для А-1. Ошибка ли это, либо дальше 9 иначе обрабатывается, непонятно, скрин обрезан. В-третьих, хотя не уверен, что проблема в этом, но может быть обработку остальных действий вызывает очистка диалога, попробуй переместить If/Then/Else первой кнопки в самый низ, чтобы очистка диалога срабатывала последней. В-четвёртых, создание юнита создаёт утечку группы, надо после этого действия удалять последнюю созданную группу.
Вроде такой custom script: call DestroyGroup(Last Created Unit Group).

23

» WarCraft 3 / урон деревьям

Похожие вопросы:

ответ
там есть куча статей на эту тему + пример на гуи от меня любимого
ответ
Баг абилки
исправляется с помощью тригга - добавляем анимационный таг, счетчик для количества ударов и даем руну на морф с другим типом атаки\бонус к урону\...
само собой абилку заменяем другой, можно на основе канала
ответ
спелл сова у ночных эльфов
ответ
в доте фрог решил просто превращением тини в модеьл с деревом, возможно нормального решения просто нет
ответ
Причина: причин было много, а я искал лишь одну
Самыми распространёнными оказались элементарные ошибки в коде, отсутствие параметров, параметры не того типа данных (привет динамическая типизация) или лишние параметры, из за чего происходили "рандомные рассинхроны при обрыве потока"
Огромное спасибо пользователю prog, что откликнулся и смог найти ошибки, а нашёл он их при помощи языкового сервера sumneko lua для VScode

23

» WarCraft 3 / Warcraft 3 Reforged. Модели

Похожие вопросы:

ответ
Читал новое пользовательские соглашение? Потом разжевывали на одной из тем по патчам рефорджа. Близзарды перестраховались, и теперь низя в карту контент пихать, который не твой или свободно распростроняемый, в противном случае хоть 1 жалоба на твою карту - бан, любой мудак которому че-то не понравится может написать близардам, они не будут разбираться он хозяин контента или нет.
Правообладатели нарут и прочих аниме прав тебе никогда не дадут, даже разговаривать не будут, только юр. Лицаи только много денег, бомжи вроде нас с тобой им не интересны. Но при этом за спасибо тебе никто не даст прав делать карту в которой все бы бесплатно играли.
ответ
Лучший способ избежать потери информации ввиду такого рода глюков в будущем - это регулярное создание резервных копий. Желательно одновременно на компьютере (в архиве .7z, чтобы избежать разного рода "авто-детектов" наподобие того, который использует рефандед при деинсталляции) и еще где-нибудь, к примеру, на яндекс диске, или на внешнем жестком диске. А еще лучше, если этих "где-нибудь" несколько. К примеру, мой варкрафт 1.26 лежит на всех доступных мне внешних носителях информации, обладающих достаточной вместимостью. И потерять и его могу, только если они все навернутся одновременно.

23

» WarCraft 3 / Проблемы с работой триггеров

Похожие вопросы:

ответ
Держи. Чтобы проверить нажми ESC в игре.
раскрыть
потребовалось полторы минуты
ответ
Проблема решилась, после соединения с администратором карта заработала и сохранилась. И на следующей карте соединения уже нет. Спасибо.
ответ
А группы в массиве CreepsGroup созданы? Нужно либо создавать группы при инициализации, проходясь циклом по массиву, либо в константах указать "размер" массива, и тогда они будут сами созданы. То есть нужно 12 групп -- ставишь размер 12, группы будут созданы в ячейках с 0 по 11.
ответ
Не сов сем по теме, но близко - вот такое можно реализовать на новых функциях 1.31
Увы, полноценного инвентаря на аналогичных функциях пока не выкладывали в общий доступ, каждый пилит себе свою версию.
ответ
если ты создаешь нейтрально-враждебных то нужно им в игровых константах менять значения
пошамань с этими значениями и все норм будет, ну а если у тебя монстры под контролем других игроков а не нейтралов, то тогда не знаю даже

guard distance - это расстояние на котором крипы агряться
guard return distance - это на какое расстояние мобы могут отходить от место их создания, если они отошли на 1000 они возвращаются обратно
guard return time - типо тоже самое что с расстоянием, только время
остальное вроде тебе не надо вообще